<script setup lang="ts">
import { ref } from 'vue'
import { useRouter } from 'vue-router'
const router = useRouter()
const ipt = ref('')

const toSearch = () => {
  //如果输入的长度为空,可以提醒用户输入内容
  if (ipt.value === '') {
    alert('请你输入想要查询的内容')
  }

  //直接写地址
  //router.push('/search')
  //完整写法
  //router.push({ path: '/search' })

  //使用name进行跳转
  //地址比较长可以使用name进行跳转
  // router.push({
  //   name: 'search'
  // })

  //查询参数 ?key=value&key2=values
  //要么手动拼接url 要不就是query拼接(推荐)
  //适合参数不确定的时候使用
  //url不够高级
  // router.push({
  //   path: '/search',
  //   query: {
  //     name: 'jack',
  //     age: 18,
  //     ipt: ipt.value
  //   }
  // })

  //动态路由传参
  //name和路由的name属性匹配
  //Params中的key 和 注册的参数名匹配
  //参数的个数是确定的 一般是1个
  //使用时路由必须要改设置(path)
  router.push({
    name: 'search',
    params: {
      words: ipt.value
    }
  })
}
</script>

<template>
  <div class="home">
    <div class="logo-box"></div>
    <div class="search-box">
      <input v-model="ipt" type="text" />
      <button @click="toSearch">搜索一下</button>
    </div>
    <div class="hot-link">
      热门搜索：
      <!-- query 查询获取参数 -->
      <!-- <router-link to="/search?query=黑马程序员">黑马程序员</router-link>
      <router-link to="/search?query=前端培训">前端培训</router-link>
      <router-link to="/search?query=如何成为前端大牛">如何成为前端大牛</router-link> -->

      <!-- 动态路由获取参数 -->
      <router-link to="/search/黑马程序员">黑马程序员</router-link>
      <router-link to="/search/前端培训">前端培训</router-link>
      <router-link to="/search/如何成为前端大牛">如何成为前端大牛</router-link>
    </div>
  </div>
</template>

<style scoped>
.logo-box {
  height: 150px;
  background: url('@/assets/logo.jpeg') no-repeat center;
}

.search-box {
  display: flex;
  justify-content: center;
}

.search-box input {
  width: 400px;
  height: 30px;
  line-height: 30px;
  border: 2px solid #c4c7ce;
  border-radius: 4px 0 0 4px;
  outline: none;
}

.search-box input:focus {
  border: 2px solid #ad2a26;
}

.search-box button {
  width: 100px;
  height: 36px;
  border: none;
  background-color: #ad2a26;
  color: #fff;
  position: relative;
  left: -2px;
  border-radius: 0 4px 4px 0;
}

.hot-link {
  width: 508px;
  height: 60px;
  line-height: 60px;
  margin: 0 auto;
}

.hot-link a {
  margin: 0 5px;
}
</style>
